home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 002 / fsed.arc / FSED.DOC < prev   
Encoding:
Text File  |  1984-11-24  |  80.0 KB  |  2,377 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.                                    FSED
  19.  
  20.                                A Full Screen Editor
  21.  
  22.                                         for
  23.  
  24.                              The IBM Personal Computer
  25.  
  26.  
  27.  
  28.  
  29.                                     Version 2.0
  30.  
  31.  
  32.  
  33.  
  34.  
  35.                                   Copyright 1983
  36.                                         by
  37.                                   D. W. Daetwyler
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.                                         1
  62.  
  63.  
  64.  
  65.  
  66.  
  67.         Full Screen Editor - Version 2.0
  68.  
  69.  
  70.                                 TABLE OF CONTENTS
  71.  
  72.                                                      Page
  73.  
  74.         PREFACE                                        3
  75.  
  76.         INTRODUCTION                                   4
  77.  
  78.         STARTING OUT                                   5
  79.  
  80.         EDITING A FILE                                 9
  81.  
  82.         COMMANDS                                      12
  83.  
  84.              SCROLLING                                13
  85.              CURSOR MOVEMENT                          14
  86.              CHARACTER MANIPULATION                   16
  87.              LINE MANIPULATION                        17
  88.              SEARCH                                   19
  89.              FILE CONTROL                             20
  90.              EDITOR CONTROL                           22
  91.              MISCELLANEOUS                            24
  92.  
  93.         CONCLUSION                                    26
  94.  
  95.         ERROR MESSAGES                                27
  96.  
  97.         APPENDIX A                                    29
  98.         APPENDIX B                                    30
  99.         APPENDIX C                                    32
  100.         APPENDIX D                                    33
  101.  
  102.         QUICK REFERENCE                               34
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.         Table of contents              2
  128.  
  129.  
  130.  
  131.  
  132.  
  133.         Full Screen Editor - Version 2.0
  134.  
  135.  
  136.         EPREFACEF
  137.  
  138.              This is a T.P.I.R product!  (The Price Is... Reasonable?)  I 
  139.         object  to  paying  half the price of my hardware  for  a  single 
  140.         software  package,  so  I'm trying to do something about  it.   I 
  141.         believe  that there are enough "micros" around to make a  reason-
  142.         able  return on your labor investment through  volume...  if  you 
  143.         don't  have  to pay substantive advertising and marketing  costs.  
  144.         If  you're reading this document,  you have the package.   It  is 
  145.         copyrighted, so what are your rights?  They are given here:
  146.  
  147.         --  You are free to copy, and encouraged to distribute to any/all 
  148.              of your friends,  the materials included in the distribution 
  149.              diskettte.  Please include this document.
  150.  
  151.         --  You  may use these materials in any way you see fit,  but you 
  152.              may  not "sell" the package.   
  153.  
  154.         Where's the "catch"?   Simple.   Its up to you.   If you use this 
  155.         package, and like it, send me a check for $35.  Otherwise, thanks 
  156.         for experimenting!   What do you get for the $35, besides a clear 
  157.         conscience?   Not much.  I'll put you on my mailing list and when 
  158.         (not  if)  bugs are encountered,  I'll notify you and offer   our 
  159.         handy, dandy copy service, which incidentally is available to all 
  160.         your friends for their initial copy,  if you don't want to bother 
  161.         copying the diskette.   I'll also notify you when future develop-
  162.         ments are available:   we now have the Screen Design Aid, a util-
  163.         ity that takes a lot of the drudgery out of building  interactive 
  164.         menus;  the  LIST  utility,  which allows for "wild  card"  print 
  165.         requests, optionally provides headings, and fully supports all of 
  166.         the  many and varied modes of printing without messing  with  the 
  167.         MODE   command;   and  a  Full  Screen  Editor,   primarily   for 
  168.         programming,  which  supports either display interface,  provides 
  169.         very "full function", and is FAST.  All operate on PC-DOS V1.x or 
  170.         V2.0.  
  171.  
  172.              The copy service mentioned  is also simple:  Send diskette, 
  173.         mailer, and enough postage to the writer and we'll make a copy of 
  174.         the distribution diskette for you.  If you don't want to send the 
  175.         diskette,  mailer,  et al., send a check for $7.50 and we'll send 
  176.         you a new diskette with the materials (Single surface, 8 sector).  
  177.         The last page of this document is an order/registration form.
  178.  
  179.         DISCLAIMER (Or I really don't want to be sued!)
  180.  
  181.         Although  reasonable  testing  has  been  conducted,   under   no 
  182.         circumstances will the author be liable to you or any third party 
  183.         for  any damages,  including lost profits or other incidental  or 
  184.         consequential damages arising out of the use of, or the inability 
  185.         to use,  this software.  Further the offers made in this document 
  186.         are  subject to withdrawal at any time and without  notification, 
  187.         and prices quoted are subject to change without notice.      
  188.  
  189.  
  190.  
  191.  
  192.  
  193.     Preface                        3
  194.  
  195.  
  196.  
  197.  
  198.  
  199.         Full Screen Editor - Version 2.0
  200.  
  201.  
  202.         INTRODUCTION
  203.                  
  204.              The  Full  Screen Editor (FSED) is primarily  a  programming 
  205.         development tool for the applications or systems programmer.   It 
  206.         is designed to work with the IBM Personal Computer,  using either 
  207.         the  Monochrome Display or the Color/Graphics interface,  and  at 
  208.         least  one disk.   Although the editor will operate  on  machines 
  209.         with  as  little  as 64K bytes of memory,  its design  point  for 
  210.         optimum operation is the 128K memory system.  As an  environment, 
  211.         it  expects  the IBM Disk Operating System (DOS) Versions 1.x  or 
  212.         2.0,  and uses the facilities of this operating system as well as 
  213.         the facilities of the Basic Input/Output System (BIOS).  
  214.  
  215.              Although  programming language independent,  the editor will 
  216.         be  of most use to the programmer  using  Assembler,  PASCAL,  or 
  217.         FORTRAN.  The  BASIC programmer's use of the editor will probably 
  218.         be limited to selected special functions (eg:  search for a vari-
  219.         able  name),  and no specific format processor  for BASIC is  in-
  220.         cluded in the editor.  Users of the BASIC Compiler will find  the 
  221.         editor useful,  however.  Similarily, although selected functions 
  222.         permit  the use of the editor for "text" processing,  these tools 
  223.         are limited and primitive when compared to a normal,  full  func-
  224.         tion, text processor.
  225.  
  226.              The  editor works with "files" which are normal DOS files in 
  227.         ASCII or source form.   Files to be processed by this editor  are 
  228.         limited to "lines" of not greater than 80 characters.  
  229.           
  230.                                 * * * WARNING * * *
  231.                
  232.              If  editing  is attempted on files containing lines of  more 
  233.         than  80 characters,  truncation will occur and portions  of  the 
  234.         data will be lost.  Under certain conditions, attempting to apply 
  235.         functions against these lines may cause catastrophic error!!!
  236.  
  237.             Using  the  facilities of the editor,  the  programmer  may: 
  238.         create  or  modify  source language files,  extract  portions  of 
  239.         existing files,  insert existing files into other files,  or  use 
  240.         existing files to create new files.   Twenty-four lines of source 
  241.         are  normally  displayed during all editing functions,  and  pro-
  242.         vision is made for "paging" through files by displaying sucessive 
  243.         pages.  Characters  can be changed,  deleted,  or  inserted  into 
  244.         existing lines.   New lines may be added, existing lines deleted, 
  245.         moved,  or  copied.   Finally,  a substantial number of "control" 
  246.         functions  can be exercised,  most by the depression of a  single 
  247.         key.   All of the functions, with the exception of those that are 
  248.         limited  by  disk speeds,  are performed  at  speeds  essentially 
  249.         within the human response range.
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.         Introduction -                 4
  260.  
  261.  
  262.  
  263.  
  264.  
  265.         Full Screen Editor - Version 2.0
  266.  
  267.  
  268.         STARTING OUT
  269.               
  270.              Since the Full Screen Editor requires IBM DOS to operate, it 
  271.         is  assumed that you are familiar with the terms and  conventions 
  272.         of  the DOS.   File names and disk operations are those supported 
  273.         by the standard DOS, so no attempt is made to cover this material 
  274.         in this document.  
  275.  
  276.              In an attempt to keep this document simple,  many details of 
  277.         functioning are omitted from the main discussion.   These details 
  278.         are  generally not important to the typical user,  however  since 
  279.         they  may effect some unique process you are attempting they  are 
  280.         included in the set of appendicies appearing at the back of  this 
  281.         document.   When  the  general area effected by the  appendix  is 
  282.         first discussed a parenthetical reference is included (eg: Appen-
  283.         dix A).  You should read through the material as it is presented, 
  284.         omitting the appendicies during your first use of the editor.  As 
  285.         your  familiarity  grows and you attempt more complex  use,  then 
  286.         reference to the appendicies will resolve most questions that may 
  287.         arise.
  288.  
  289.              This document is written for the "new" programmer.   For the 
  290.         experienced  programmer,   scanning  this  introductory  material 
  291.         should  be  sufficient.   The largest section of  this  document, 
  292.         "COMMANDS",  should be reviewed by all users,  and will provide a 
  293.         ready reference during productive use of the editor.
  294.          
  295.                                 SAVING THE EDITOR
  296.                
  297.              The distribution diskette included with this manual contains 
  298.         a file named FSED.COM.   Your first action should be to copy this 
  299.         file  to a work diskette containing your IBM DOS.   Use the  Copy 
  300.         utility included with your DOS,  following the instructions  pro-
  301.         vided  in the DOS manual.   File and save your distribution disk-
  302.         ette as your "master".   The distribution diskette is "file  pro-
  303.         tected"   which  will  prevent  accidental  destruction  of  your 
  304.         "master".
  305.           
  306.                                  USING THE EDITOR
  307.                
  308.              The editor will operate properly on either one or two  drive 
  309.         systems.   Initially, we'll use it by inserting the work diskette 
  310.         containing  IBM DOS and the FSED.COM file in the drive  "A".   To 
  311.         start the editor you may use any of three forms of DOS commands:
  312.          
  313.                   A:>FSED
  314.                   A:>FSED yourfile.type
  315.                   A:>FSED yourfile.type outfile.type
  316.               
  317.              As  you  gain familiarity with the editor,  the second  form 
  318.         shown above is the one you'll use most frequently.   To help  you 
  319.         get  started,  we'll  discuss  all three forms and  the  editor's 
  320.         response to each.  
  321.  
  322.  
  323.  
  324.  
  325.         Starting Out -                 5
  326.  
  327.  
  328.  
  329.  
  330.  
  331.         Full Screen Editor - Version 2.0
  332.  
  333.  
  334.              In all three cases,  when you enter this command, the screen 
  335.         will briefly display an identification screen that simply announ-
  336.         ces  the editor has been loaded properly.   If you have used  the 
  337.         first form of the command, a prompt near the bottom of the screen 
  338.         will  ask for your file name.   Just as in the second  and  third 
  339.         forms of the command,  the file name requested is a "fully quali-
  340.         fied"  DOS file name.   Drive may be specified,  and if it is not 
  341.         then the "default" or signed on drive is implied.   "type" is not 
  342.         required by the editor,  but most language processors do  require 
  343.         it, so normally it should be specified.  
  344.  
  345.              If  the  file  you have named exists on the drive  you  have 
  346.         specified or defaulted to,  then the first 24 source lines of the 
  347.         file will be displayed without further action.   If the directory 
  348.         does not contain the name you gave,  then a prompt will appear at 
  349.         the bottom of the screen:
  350.  
  351.               "New file - (Y or N)"
  352.  
  353.              If you are actually creating a new file,  reply "Y" and  you 
  354.         will  be  presented  with a "blank" screen  containing  only  the 
  355.         editor  prompt line (line 25),  and an "end of file" marker line. 
  356.         If  you  have made an error in specification of your  file  name, 
  357.         reply "N",  and the editor will prompt for the correct name, just 
  358.         as it did when the first form of the command was used to initiate 
  359.         the editor.  
  360.  
  361.              Before  discussing  the third form of  the  command,  it  is 
  362.         necessary  to  understand how the editor handles file  names  and 
  363.         directory updates.   The editor is designed to prevent catastrop-
  364.         hic data loss.   If you are updating an existing file,  that file 
  365.         in  its original form,  will still exist at the conclusion of the 
  366.         edit process.  Editing the file actually causes the creation of a 
  367.         new  file  containing the edit changes,  and normally  named  the 
  368.         same as the file specified as "yourfile" in the command or prompt 
  369.         sequences.   The original file is renamed to "yourfile.BAK".   If 
  370.         "yourfile.BAK" existed prior to the start of the editor,  the old 
  371.         backup  file  will be automatically  deleted.   This  complicated 
  372.         sounding process simply results in maintenance of two versions of 
  373.         "yourfile".   The current version and one back up version without 
  374.         the last set of changes.  
  375.  
  376.              For the editor to function properly, then, there must always 
  377.         be  sufficient disk space available on the output drive,  to con-
  378.         tain the entire file being edited, plus any changes you introduce 
  379.         in this edit process.  This is a "free space" requirement that is 
  380.         in  addition to any "back up" files  and the original file to  be 
  381.         edited, that may already reside on the disk.  
  382.  
  383.              The  third  form  of the command  over-rides  this  process. 
  384.         "outfile.type"  is your desired name for the new file created  by 
  385.         the editor.   When this form of the command is used, the original 
  386.         file  is  not changed,  and the rename to a back up file  is  not 
  387.         performed.  Note that the output file need not reside on the same 
  388.         drive  as the input file,  in two  drive  configurations.   Drive 
  389.  
  390.  
  391.         Starting Out -                 6
  392.  
  393.  
  394.  
  395.  
  396.  
  397.         Full Screen Editor - Version 2.0
  398.  
  399.  
  400.         identifier may be specified with the "outfile" name.  
  401.  
  402.              Finally, there is one additional prompt that you will rarely 
  403.         see.   If  you  have used the third form of the command and  have 
  404.         given  a name for your output file that already  exists,  then  a 
  405.         prompt that warns you of this condition will appear,  and you are 
  406.         requested  to  give permission to proceed ("Y") or cancel  ("N").  
  407.         If you permit the editor to continue, the content of the existing 
  408.         file will be over-written and lost!!! (Appendix A).
  409.  
  410.              Before proceeding into the edit process,  a brief discussion 
  411.         of  file  sizes and drive  configurations  is  appropriate.   The 
  412.         editor is capable of processing a "very large" file,  essentially 
  413.         limited only by the diskette capacity and the "space requirement" 
  414.         cited in the previous paragraphs.   In actual practice,  you will 
  415.         find it much more convienent to work with small or moderate sized 
  416.         files.  The primary difference to the user is how "automatic" the 
  417.         editor  appears,  but  good programming practice encourages  file 
  418.         sizes  that are optimum for the editor (Appendix B).   On a  128K 
  419.         memory configuration,  the editor will automatically handle files 
  420.         of  48K size,  which in view of the very dense form of  the  disk 
  421.         stored materials, is a very large program.  
  422.  
  423.              It is possible to load the editor and then replace it with a 
  424.         "work" diskette.   This mode of operation requires the first form 
  425.         of the commands shown above.  
  426.          
  427.                                 * * * WARNING * * *
  428.                
  429.              At  the point the editor has been informed of the file names 
  430.         and  drives  that it is to work with (load time for all  but  the 
  431.         first command form),  the diskette that is to contain the  output 
  432.         file may not be removed from the drive until editing is complete, 
  433.         or unless specifically requested by the editor.
  434.  
  435.              A  useful hint for multiple drive system owners is to  "sign 
  436.         on"  to the "B" drive,  place the DOS diskette with the editor in 
  437.         the "A" drive, and your source/work diskette in the "B" drive.  A 
  438.         command of the form:
  439.          
  440.                   B:>A:FSED yourfile.type
  441.               
  442.              will  permit loading of the editor from the "A"  drive,  but 
  443.         all  file  references  (input and output) will  automatically  be 
  444.         against the "B" drive.
  445.                                  
  446.                                  DISPLAY DEVICES
  447.  
  448.                 The  editor  will function properly on either the  normal 
  449.         IBM Monochrome Display (or equivalent), or on a monitor driven by 
  450.         the Color/Graphics interface.   In the latter case,  the  monitor 
  451.         must  be  capable of displaying 80 character lines with  readable 
  452.         resolution.   Generally,  this  will not permit use of so  called 
  453.         "composite" monitors or "T.V." sets.
  454.  
  455.  
  456.  
  457.         Starting Out -                 7
  458.  
  459.  
  460.  
  461.  
  462.  
  463.         Full Screen Editor - Version 2.0
  464.  
  465.  
  466.                 The  display device in use prior to loading  the  editor, 
  467.         will  be used by the editor.   If you have both types of  display 
  468.         interfaces,  you may switch from one to the other.  Switching may 
  469.         occur  at any time during the actual edit process (not while  the 
  470.         "title" screen is displayed),  and causes no data loss. Switching 
  471.         is  caused  by  depressing and holding the "Alt"  key,  and  then 
  472.         depressing the "S" key.   This is the only editor command that is 
  473.         not included in the "help" screens,  so if you expect to use  it, 
  474.         you'd  better  make note of it.   It is not  included  since  the 
  475.         function is of limited operational value.   It is included simply 
  476.         to  make it easy for you to decide which display device you  will 
  477.         use for normal operations.
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.         Starting Out -                 8
  524.  
  525.  
  526.  
  527.  
  528.  
  529.         Full Screen Editor - Version 2.0
  530.  
  531.  
  532.         EDITING A FILE
  533.               
  534.              For  your  first use of the editor,  it is easier to  follow 
  535.         this  discussion if you actually edit a small  file.   Since  the 
  536.         editor  loads in the default format,  Assembler,  copying a small 
  537.         assembler  source  file  to the edit or a  work  disk,  and  then 
  538.         following  the start up procedures outlined in the previous  sec-
  539.         tion  is  recommended.   You should edit  a  copy,  since  you'll 
  540.         probably  want  to make unusual changes while experimenting  with 
  541.         the  editor.  There  is  a command that lets  you  "cancel"  your 
  542.         actions without effecting your original file, but just in case... 
  543.         start out with a copy.  
  544.          
  545.                                 THE PRIMARY SCREEN
  546.               
  547.              The  primary  screen you will be working with  is  displayed 
  548.         immediately  after editor initialization.  The screen is  divided 
  549.         into two main sections: an editing area, and a control area.  The 
  550.         division is a bit disproportionate,  since the first  twenty-four 
  551.         lines  are the editing area,  while the 25th line is the  control 
  552.         area.   Look first at the 25th line.  This line contains a series 
  553.         of  "prompts"  assigning  the program function keys  (F1-F10)  to 
  554.         editor processes.   The processes displayed are the most commonly 
  555.         used  editor services,  and are invoked by simply depressing  the 
  556.         corresponding  function key.   The function keys also  support  a 
  557.         less  frequently  used set of processes,  but in this case it  is 
  558.         necessary  to depress the "Alt" key and hold it,  depressing  the 
  559.         function key.  These extended functions will be discussed  later, 
  560.         so for now, simply consider the displayed functions.  
  561.  
  562.              As  you  use  the editor,  the function key display  on  the 
  563.         prompt  line will be replaced by an actual "prompt" from time  to 
  564.         time.  Any  instructions  the editor wishes to  give  you,  error 
  565.         conditions  sensed,  and information displays are shown  in  this 
  566.         area. Most "error" messages are accompanied by an audible signal.  
  567.         Typically,  the  next command executed will cause the prompt line 
  568.         to return to the normal function key display.  
  569.  
  570.              The right end of the prompt line contains "active" elements.  
  571.         First,  you'll notice the letter "R:" followed by two digits, and 
  572.         then the letter "C:" followed by two digits.  This is the row and 
  573.         column  number of the current cursor position (upper left  corner 
  574.         is  01,  01).   Finally,  you'll see the letter "F:" followed  by 
  575.         either an "A",  "T",  or an "I".  This is the "format" the editor 
  576.         is currently using.  Format will be discussed at length, later in 
  577.         this document.   The editor's default format is "A"  (Assembler), 
  578.         which is what you'll see on this initial display.
  579.                                 
  580.              If the file you are editing is less than 24 lines, or if you 
  581.         are  creating a new file,  the last non-blank line in the editing 
  582.         area of the screen will contain an "end of file" flag.  This line 
  583.         will  also appear if you page forward to the end of  your  source 
  584.         file,  as  you will see when you exercise the scrolling commands. 
  585.         In any case,  if the flag line actually reads "end of stack", you 
  586.         are  either editing a very large file,  or you have a very  small 
  587.  
  588.  
  589.         File Editing -                 9
  590.  
  591.  
  592.  
  593.  
  594.  
  595.         Full Screen Editor - Version 2.0
  596.  
  597.  
  598.         memory  configuration,  and  you  must  read  Appendix  B  before 
  599.         proceeding.
  600.                                 DATA ENTRY/COMMANDS
  601.               
  602.              The editor is designed with a "what you see is what you get" 
  603.         philosophy.   Data  entry is accomplished by simply  keying  non-
  604.         command  keys.   The  corresponding character will appear at  the 
  605.         current  cursor position on the screen,  and the cursor  will  be 
  606.         advanced.   Positioning  the cursor to existing data,  and keying 
  607.         replacement data "over the top", replaces the existing data.  All 
  608.         alphanumeric  and special character keys are acceptable as  data. 
  609.         The program function keys,  "Esc", tab, "Ctrl", backspace, enter, 
  610.         and  all  of the keys of the numeric key pad (right  end  of  the 
  611.         keyboard)  are "command keys" and may cause the editor to perform 
  612.         a command rather than performing data entry.   The "Num Lock" and 
  613.         "Scroll  Lock" keys are not used by the editor,  but  because  of 
  614.         their particular signifcance to DOS, should be avoided.  
  615.  
  616.              Try depressing one of the arrow keys on the numeric key pad. 
  617.         The  cursor  should  move in the  indicated  direction.   If,  by 
  618.         chance,  the  corresponding numeric digit appears on  the  screen 
  619.         instead,  then  you  have inadvertently depressed the "Num  Lock" 
  620.         key.   Depress it again, and then try the arrow key, which should 
  621.         now work properly.  
  622.  
  623.              Now  try  depressing the "PgDn"  key.   The  display  should 
  624.         change to the "next" increment of your source file.   "PgUp" will 
  625.         restore you to your original position.   Try paging "up" when you 
  626.         are  at the start of your file.   Nothing happened,  right?   The 
  627.         same  is true when you are positioned near the end of  your  file 
  628.         and you try to page "down".   You can page around your file,  and 
  629.         by  using the arrow keys of the key pad,  position the cursor  to 
  630.         various  locations and over write some of the  file.   Experiment 
  631.         with these functions until you're comfortable with them.
  632.  
  633.              Now you're ready for an important concept of the editor.  As 
  634.         you key changes into the screen,  the corresponding change is NOT 
  635.         made  in the file.   Each non-cursor movement command WILL  cause 
  636.         the  screen  changes  to be made in the file.   To see  how  this 
  637.         works,  try  overwriting some area of the  screen.   Now  depress 
  638.         function key 8 (Cancel).   The original information re-appears on 
  639.         the screen,  right?  Now do the same thing, but this time depress 
  640.         function key 9.   The screen will blink, and now try function key 
  641.         8.  This time the original data did not reappear!  Function key 9 
  642.         "forces" changes shown on the screen to be made in the file.  Its 
  643.         use  is  not  normally required,  since any  non-cursor  movement 
  644.         command  will force changes.   To demonstrate this,  key over  an 
  645.         area  and  scroll forward or backward.   Reverse your  scroll  to 
  646.         return to the original area,  and you will find the changed  data 
  647.         remains changed.  Scrolling commands, as you should expect, force 
  648.         changes.
  649.  
  650.              This  capability is an important one.   Assume you have been 
  651.         making  a number of changes on the screen,  and suddenly  realize 
  652.         that you're in the wrong area of the program.   Simply depressing 
  653.  
  654.  
  655.         File Editing -                 10
  656.  
  657.  
  658.  
  659.  
  660.  
  661.         Full Screen Editor - Version 2.0
  662.  
  663.  
  664.         function  8 will cancel all changes you've made...as long as  you 
  665.         haven't entered a command in the mean time.  
  666.  
  667.              Rather than taking you through the individual commands on  a 
  668.         step  by step basis,  you should proceed on your own through  the 
  669.         Command  section  which  follows.   Experiment with each  of  the 
  670.         commands, and observe the result on your screen.  By the time you 
  671.         have gone through the Command section, you'll be ready to use the 
  672.         editor  as  a production tool.   Three commands will  be  briefly 
  673.         mentioned here, since they may be needed before you reach them in 
  674.         the command descriptions.  Function key 10 will end the edit.  If 
  675.         you use this command, your original file will be renamed, and the 
  676.         new file with your edit changes will be created.   Since that may 
  677.         not be what you want to do with this "test" file, try holding the 
  678.         "Alt" key depressed while you depress function key 10.   A prompt 
  679.         that  asks if you want to "abort" this edit will  appear,  and  a 
  680.         response  of  "Y" will cause your original input file  to  remain 
  681.         unchanged, while the new file will not be created.  
  682.  
  683.              Finally,  depressing  and  holding  the "Alt" key  and  then 
  684.         depressing  "h" or "H" will cause a "help" menu to be  displayed. 
  685.         This,  and its successor menu,  contains all but one of the  com-
  686.         mands  available  under the editor.   Its intended to be a  handy 
  687.         "quick  reference",  so you're strongly encouraged touse it  fre-
  688.         quently.  The  omitted  command is the "Alt-S",  used  to  switch 
  689.         between display devices.  When you leave the "help" function, the 
  690.         screen you were working reappears,  but remember that "help" is a 
  691.         command,  so any changes pending on the screen will be forced  to 
  692.         the file by your request for "help". 
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.         File Editing -                 11
  722.  
  723.  
  724.  
  725.  
  726.  
  727.         Full Screen Editor - Version 2.0
  728.  
  729.  
  730.         COMMANDS
  731.               
  732.              This  section  discusses each of the available  commands  in 
  733.         relative  detail.   It is organized into eight  sub-sections,  in 
  734.         which commands of a similar nature are grouped.  The sub-sections 
  735.         are:
  736.          
  737.                        Scrolling Commands
  738.                        Cursor Movement Commands
  739.                        Character Manipulation Commands
  740.                        Line Manipulation Commands
  741.                        Search Commands
  742.                        File Control Commands
  743.                        Editor Control Commands
  744.                        Miscellaneous Commands
  745.  
  746.         The balance of this section examines each of the commands.
  747.               
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.         Commands -                     12
  788.  
  789.  
  790.  
  791.  
  792.  
  793.         Full Screen Editor - Version 2.0
  794.  
  795.  
  796.         SCROLLING COMMANDS
  797.                
  798.              The scrolling commands permit the user to "page" through the 
  799.         primary increment.  All scroll commands "force" screen changes to 
  800.         the file.
  801.          
  802.         SCROLL UP BY "INCREMENT"           Key: "PgUp"
  803.               
  804.              Causes  the sreen "window" to move towards the "top" of  the 
  805.         source  file  by  the  current  increment.    See  SET  SCROLLING 
  806.         INCREMENT below.
  807.          
  808.         SCROLL UP BY LINE                  Key: CTRL("PgUp")
  809.               
  810.              Causes  the screen "window" to move towards the "top" of the 
  811.         source file by one line.
  812.          
  813.         SCROLL TO "TOP" OF SOURCE STACK    Key: "Home"
  814.               
  815.              Causes  the  screen  "window" to move to the  "top"  of  the 
  816.         source file in memory.
  817.          
  818.         SCROLL DOWN BY "INCREMENT"         Key: "PgDn"
  819.               
  820.              Causes  the screen "window" to move towards the "bottom"  of 
  821.         the  source file in memory,  by the current increment.   See  SET 
  822.         SCROLLING INCREMENT below.
  823.          
  824.         SCROLL DOWN BY LINE                Key: CTRL("PgDn")
  825.               
  826.              Causes  the screen "window" to move towards the "bottom"  of 
  827.         the source file in memory, by one line.
  828.          
  829.         SCROLL TO END OF SOURCE STACK      Key: CTRL("Home")
  830.               
  831.              Causes  the screen "window" to move to the "bottom"  of  the 
  832.         source file in memory.  
  833.          
  834.         SET SCROLLING INCREMENT            Key: ALT(F6)
  835.               
  836.              The  default increment for scrolling is the "half page",  so 
  837.         unless  this command is utilized,  scrolling by "increment"  will 
  838.         cause the window to advance by 12 lines.   This command causes  a 
  839.         prompt  message to be displayed requesting a user response of "H" 
  840.         or  "F" (Half page increment or Full page  increment).   In  full 
  841.         page mode, the window will be advanced by 23 lines.  The physical 
  842.         position  of the cursor remains constant during scrolling,  so if 
  843.         the  cursor is positioned to the 20th line before  scrolling,  it 
  844.         will remain at this position (20th line) after scrolling.
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.         Scrolling Commands -           13
  854.  
  855.  
  856.  
  857.  
  858.  
  859.         Full Screen Editor - Version 2.0
  860.  
  861.  
  862.         CURSOR MOVEMENT COMMANDS
  863.               
  864.              Cursor  movement  permits positioning to any column  of  the 
  865.         twenty-four line data entry area.  Movement does not effect data, 
  866.         nor  does  it force screen changes to the file.   Data is  always 
  867.         entered at the "current cursor position",  so these commands  are 
  868.         used  more  frequently than any other editor  process,  with  the 
  869.         exception  of  data  entry.    Cursor  movement  will  cause  the 
  870.         row/column  portion  of  the  prompt line display  to  change  to 
  871.         reflect the new position of the cursor.
  872.          
  873.         CURSOR UP (ONE LINE)               Key: Up Arrow
  874.               
  875.              Moves the cursor up one row,  retaining column position.  If 
  876.         already positioned to row 1, cursor "wraps" to row 24.
  877.          
  878.         CURSOR DOWN (ONE LINE)             Key: Down Arrow
  879.               
  880.              Moves  the cursor down one row,  retaining column  position.  
  881.         If already positioned to row 24, cursor "wraps" to row 1.
  882.          
  883.         CURSOR LEFT ONE CHARACTER          Key: Left Arrow (Either)
  884.               
  885.              Moves  the  cursor  one column to the  left,  retaining  row 
  886.         position.   If already positioned to column 1,  cursor "wraps" to 
  887.         column 80.
  888.          
  889.         CURSOR RIGHT ONE CHARACTER         Key: Right Arrow 
  890.               
  891.              Moves  the  cursor one column to the  right,  retaining  row 
  892.         position.   If already positioned to column 80, cursor "wraps" to 
  893.         column 1.
  894.          
  895.         CURSOR LEFT ONE WORD               Key: CTRL(Left Arrow)
  896.               
  897.              Moves  the cursor to the start of the next full word to  the 
  898.         left of its current position.  When reaching column 1, the cursor 
  899.         will NOT "wrap",  but will remain in column 1.  "Word" is defined 
  900.         as any non-blank string,  delineated by blank, tab, comma, colon, 
  901.         left bracket, right bracket.
  902.          
  903.         CURSOR RIGHT ONE WORD              Key: CTRL(Right Arrow)
  904.               
  905.              Moves  the cursor to the start of the next full word to  the 
  906.         right  of its current position.   Will NOT "wrap" at  column  80.  
  907.         See "Cursor Left One Word", above.
  908.          
  909.         CURSOR RIGHT TO END OF LINE        Key: "End"
  910.               
  911.              The  cursor is moved to the first blank character  following 
  912.         the last non-blank character in the current cursor line.
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.         Cursor Movement -              14
  920.  
  921.  
  922.  
  923.  
  924.  
  925.         Full Screen Editor - Version 2.0
  926.  
  927.  
  928.         TAB RIGHT                          Key: Tab (unshifted)
  929.               
  930.              Format mode dependent.   Causes the cursor to be advanced to 
  931.         the next tab position to the right.   Normally,  this position is 
  932.         every  eight  characters,  but in "Indented" mode is  every  four 
  933.         characters.  Cursor does NOT wrap.
  934.          
  935.         TAB LEFT                           Key: Tab (shifted)
  936.               
  937.              Same as "Tab Right", above, except direction is to the left.
  938.          
  939.         NEW LINE                           Key: Enter
  940.               
  941.              Causes  cursor to move down one row,  and to column 1 of the 
  942.         new line.  If position was in row 24, the new row will be 1. This 
  943.         key  has a unique signficance when in "Insert  Line"  mode.   See 
  944.         "Insert Line" command for discussion.
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.  
  961.  
  962.  
  963.  
  964.  
  965.  
  966.  
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.         Cursor Movement -              15
  986.  
  987.  
  988.  
  989.  
  990.  
  991.         Full Screen Editor - Version 2.0
  992.  
  993.  
  994.         CHARACTER MANIPULATION COMMANDS
  995.               
  996.              Character  manipulation commands behave much like data entry 
  997.         and are concerned with inidividual characters on a single line.
  998.          
  999.         INSERT CHARACTER                   Key: "Ins"
  1000.               
  1001.              This  command  is a "toggle".   When in  normal  mode,  this 
  1002.         command places you in "insert character" mode.   When in  "insert 
  1003.         character" mode, you are returned to normal mode.  Normal mode is 
  1004.         flagged  by an underscore cursor,  while "insert mode" is flagged 
  1005.         by a block cursor.  When in "insert mode", characters keyed in as 
  1006.         in  normal data entry,  force the current line to the  right  one 
  1007.         character,  and  the entered character is "inserted" in the line. 
  1008.         Characters forced off the right end of the line are "lost".
  1009.          
  1010.         DELETE CHARACTER                   Key: "Del"
  1011.               
  1012.              This command deletes one character.   The line to the  right 
  1013.         of  the cursor position is shifted left one position,  and blanks 
  1014.         are added to the end of the line.
  1015.          
  1016.         DELETE TO END OF LINE              Key: CTRL("End")
  1017.               
  1018.              This  command clears the line to the right of the cursor  to 
  1019.         blanks.
  1020.  
  1021.  
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.         Character Commands -           16
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.         Full Screen Editor - Version 2.0
  1058.  
  1059.  
  1060.         LINE MANIPULATION COMMANDS
  1061.               
  1062.              Line manipulation commands include line insertion, deletion, 
  1063.         movement,  and copy.  Deletion, movement, and copy may be applied 
  1064.         to a single line,  or to a block of contiguous lines.   Line com-
  1065.         mands force screen changes to the file in memory
  1066.          
  1067.         INSERT LINE                        Key: F1
  1068.               
  1069.              To insert a new line, simply position the cursor to the line 
  1070.         following  the desired insertion point,  and depress function key 
  1071.         1.  The existing display will "open" at that point,  and a  blank 
  1072.         line will be displayed with the cursor positioned to the start of 
  1073.         the blank line.  Using cursor positioning and data entry, the new 
  1074.         line can be built.   When the new line has been entered properly, 
  1075.         depress the "Enter" key,  and an additional blank line for inser-
  1076.         tion  will be displayed after the line which was  inserted.  This 
  1077.         process  may  be continued indefinitely,  entering a sequence  of 
  1078.         consequtive  new lines.   When the process  is  complete,  simply 
  1079.         depress  "Enter"  without  keying data into the "new  line"  dis-
  1080.         played.  The screen will "close" over the "new line" and you have 
  1081.         returned to normal mode.
  1082.  
  1083.              Note  that  the "next" insert line is placed  following  the 
  1084.         line  on which the cursor is positioned at the time  the  "Enter" 
  1085.         key is depressed.  Normally, you simply key in the data for a new 
  1086.         line, lines to be inserted in the proper sequence.  Ocassionally, 
  1087.         however,  you  may desire to enter a single new line at one posi-
  1088.         tion  on  the screen,  and another line (or series of  lines)  at 
  1089.         another position.   By positioning the cursor "above" the  second 
  1090.         insert  point before depressing the "Enter" key,  you may perform 
  1091.         this process without re-entering the F1 command.  
  1092.  
  1093.              If  you desire to enter a new line as the last line  of  the 
  1094.         file,  simply  position  the cursor to the "flag" line  ("End  of 
  1095.         file")  and  depress F1.   This method is that used when you  are 
  1096.         creating a new file.   Initially,  the screen is blank except for 
  1097.         the  "flag"  line.   Position the cursor to the "flag"  line  and 
  1098.         depress the F1 key.   The top line of the screen will be blanked, 
  1099.         and you may initiate the entry process on that line.
  1100.  
  1101.              To  generate a new line which is blank,  perform the  normal 
  1102.         "Insert line" command.  On the new line, enter at least one blank 
  1103.         character before depressing "Enter".  
  1104.          
  1105.                                Delete, Move and Copy
  1106.               
  1107.              These  line  manipulation commands follow a  common  pattern 
  1108.         which  is  described here for reference.   All may  deal  with  a 
  1109.         "block" of lines,  and the mechanism for demarking the "block" is 
  1110.         given here.   Note that a single line is simply a limited "block" 
  1111.         so this discussion applies to all cases.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.         Line Commands -                17
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.         Full Screen Editor - Version 2.0
  1124.  
  1125.  
  1126.              To  demark  a block of lines (and to initiate the  command), 
  1127.         simply  position the cursor to the first/last line of  the  block 
  1128.         and  depress the appropriate command key.   The editor will  then 
  1129.         prompt for the second limit of the block,  so position the cursor 
  1130.         to  the  last/first line of the block and again depress the  same 
  1131.         command key.   In the case of move or copy,  an additional prompt 
  1132.         will  be  issued,   requesting  identification  of  the   desired 
  1133.         insertion  point for the block of lines moved or copied.   Simply 
  1134.         position  the  cursor  to the line AFTER  the  desired  insertion 
  1135.         point, and depress the command key for the third time.  
  1136.  
  1137.              For move and copy,  the insertion point must be within or at 
  1138.         the  file boundaries,  and may not be within the range  of  lines 
  1139.         demarked  as the "block".   Either case is sensed as an error and 
  1140.         an appropriate error message will appear on the prompt line.
  1141.          
  1142.         DELETE LINE(S)                     Key: F2
  1143.               
  1144.              Demark the lines to be deleted, as described above, depress-
  1145.         ing  the  function key 2 each time.   Upon  the  second  boundary 
  1146.         specification,  the block specified will be removed from the file 
  1147.         and  the  display  "refreshed" to the screen displayed  when  the 
  1148.         "topmost" boundary was selected.
  1149.          
  1150.         MOVE LINE(S)                       Key: F3
  1151.               
  1152.              Demark the block of lines to be moved,  as described  above. 
  1153.         When  the insertion point is indicated,  the lines will be  moved 
  1154.         and  the  screen "refreshed" to the position displayed  when  the 
  1155.         insertion point was selected.
  1156.          
  1157.         COPY LINE(S)                       Key: F4
  1158.               
  1159.              Same as Move Lines, except the block is not removed from its 
  1160.         original position in the file.
  1161.          
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.         Line Commands -                18
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.         Full Screen Editor - Version 2.0
  1190.  
  1191.  
  1192.         SEARCH COMMANDS
  1193.                
  1194.              There  are  two "search" commands supported by  the  editor: 
  1195.         Find and Substitute.   An additional command,  Repeat, allows you 
  1196.         to "repeat" the most current "search" command without re-entering 
  1197.         the  command.   Use of "Repeat" permits rapid scanning through an 
  1198.         entire file for a particular string.
  1199.  
  1200.              If a "search" string cannot be found,  a message will appear 
  1201.         in the prompt area,  displaying the search string,  and the words 
  1202.         "not  found".   Searches are performed on an exact  character  by 
  1203.         character match.   Case is important,  as are blanks and/or tabs. 
  1204.         ABC(blank) is NOT the same as ABC(tab).   Similarily,  the string 
  1205.         ALE is to be found in the string PALE,  but the string (blank)ALE 
  1206.         is not.  Strings are limited to 20 characters. (Appendix C)
  1207.          
  1208.         FIND                               Key: F5
  1209.               
  1210.              The editor will prompt for a search string (terminated by an 
  1211.         "enter"),  and will search the file from the current cursor posi-
  1212.         tion,  forward  through the file.   The first "match" found  will      
  1213.         be displayed as the top line of the display,  and the cursor will 
  1214.         be positioned to the first character of the matching string. 
  1215.          
  1216.         SUBSTITUTE                         Key: F6
  1217.               
  1218.              Same  as  Find,  except the editor will prompt for a  second 
  1219.         string.   This string is to replace the search string, if a match 
  1220.         is  achieved.   If  the replacement string is  shorter  than  the 
  1221.         search  string,  the line is truncated.   If longer,  the line is 
  1222.         extended.  Characters "shifted" off the right end of the line  by 
  1223.         this extension are "lost".  
  1224.  
  1225.              The  resultant display is the same as for "Find",  except in 
  1226.         this case,  the displayed string is the replacement string.  This 
  1227.         displayed  replacement is a "screen change" only at  this  point, 
  1228.         therefore  depressing the Cancel key will cause the original data 
  1229.         to  be restored.   Any other command will cause  the  replacement 
  1230.         data to become part of the file.  
  1231.          
  1232.         REPEAT                             Key: F7
  1233.               
  1234.              Repeats the last "search" command.  Note that the use of the 
  1235.         "Cancel" command, as described under "Substitute", is applicable, 
  1236.         allowing for selective substitution of a value throughout a file.
  1237.          
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.         Search Commands -              19
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.         Full Screen Editor - Version 2.0
  1256.  
  1257.  
  1258.         FILE CONTROL COMMANDS
  1259.  
  1260.               Primary  input and output files of normal size are  handled 
  1261.         automatically  by the editor,  and require no commands for  their 
  1262.         support  (See  "Starting Out").   The commands in  this  section, 
  1263.         then,  are  primarily  concerned with auxillary file  operations.  
  1264.         Two  types  of "auxillary" files  are  recognized:  "Insert"  and 
  1265.         "Extract".   Both  are normal ASCII source files which may or may 
  1266.         not have been created by the editor.   An "Insert" file is simply 
  1267.         a  file containing source that you wish to have inserted  in  the 
  1268.         file  being edited.   An "Extract" file is a file that is created 
  1269.         (extracted) from the file you are editing.  As many "inserts" and 
  1270.         "extracts" may be performed during an edit,  as you desire.   The 
  1271.         only constraint is that only one "extract" file may be "open"  at 
  1272.         a time.
  1273.           
  1274.         INSERT EXTERNAL FILE               Key: ALT(F1)
  1275.               
  1276.              You  simply  position the cursor to the line  following  the 
  1277.         point of insert, and depress and hold the "Alt" key followed by a 
  1278.         depression  of  function key 1.   The editor will prompt for  the 
  1279.         name of the insert file (optional drive:name.type), and then will 
  1280.         load  the  file at the desired insertion point.   Note  that  the 
  1281.         entire file is loaded.   If the file cannot be found on the  disk 
  1282.         specified, an error prompt is issued.  If sufficient memory space 
  1283.         is not available to load the entire "insert" file, as much as can 
  1284.         be  contained  will be loaded,  and an error prompt will be  dis-
  1285.         played.(Appendix D)
  1286.          
  1287.         EXTRACT EXTERNAL FILE              Key: ALT(F2)
  1288.               
  1289.              Similar to the "line manipulation commands", extract expects 
  1290.         a "block" of source to be delineated.  Position the cursor to the 
  1291.         first/last  line of the block and depress key 2.   If  an  active 
  1292.         "extract"  file is not already open,  the system will prompt  for 
  1293.         the name of the "extract" file you are creating.   If you provide 
  1294.         a  name that already exists on the disk,  the editor will  prompt 
  1295.         for permission to over-write the file before proceeding.  You are 
  1296.         then  prompted  to position the cursor to the last/first line  of 
  1297.         the block, and again depress key 2.  The desired block is written 
  1298.         to the "extract" file.  The source file being edited is unchanged 
  1299.         by this operation, so if you really want to remove the lines from 
  1300.         the existing file, you must now do a "delete lines" command.  
  1301.  
  1302.              Once opened,  "extract files" remain open until specifically 
  1303.         "closed"  by you,  or until end of processing by the editor  (See 
  1304.         "End" command).  If you perform additional "extracts", the result 
  1305.         is simply appended to the end of the active extract file  permit-
  1306.         ting  you  to build a file containing scattered segments of  code 
  1307.         extracted from various portions of the file being edited.  
  1308.          
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.         File Control -                20
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.         Full Screen Editor - Version 2.0
  1322.  
  1323.  
  1324.         CLOSE EXTRACT FILE                 Key: ALT(F9)
  1325.               
  1326.              This command simply "closes" an active "Extract file".   The 
  1327.         next  use  of  "extract" will require  specification  of  another 
  1328.         "extract file" to receive the source lines extracted.   If a file 
  1329.         is  not active,  then an information message is  provided.   Note 
  1330.         that "Close" is needed only if more than a single extract file is 
  1331.         to  be produced by the editor.   "End" automatically  closes  any 
  1332.         open extract files.
  1333.          
  1334.         SPILL PRIMARY FILE                 Key: ALT(F3)
  1335.               
  1336.              As discussed in Appendix B, this command is used only when a 
  1337.         primary  input  file is too large to be contained in  the  memory 
  1338.         buffer.   It is used to force output of the current memory buffer 
  1339.         and  the automatic load of the next portion of the primary  input 
  1340.         file.  The "End" command causes an automatic "Spill" if needed.
  1341.          
  1342.  
  1343.  
  1344.  
  1345.  
  1346.  
  1347.  
  1348.  
  1349.  
  1350.  
  1351.  
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.         File Control -                21
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.         Full Screen Editor - Version 2.0
  1388.  
  1389.  
  1390.         EDITOR CONTROL COMMANDS
  1391.               
  1392.              These commands are primarily "housekeeping" commands, allow-
  1393.         ing control of some of the editor options, and generally control-
  1394.         ling the entire process.
  1395.          
  1396.         END COMMAND                        Key: F10
  1397.               
  1398.              This  command  is issued at the normal end of the edit  pro-
  1399.         cess. It causes the system to perform the write out of the memory 
  1400.         buffer to the new primary file,  performs the necessary file  re-
  1401.         naming operations,  closes any active "extract" files, clears the 
  1402.         screen, and returns to the DOS.
  1403.          
  1404.         FORCE CHANGES                      Key: F9
  1405.               
  1406.              This  command simply forces any "screen changes" to the file 
  1407.         in memory.  
  1408.          
  1409.         CANCEL CHANGES/COMMANDS            Key: F8
  1410.               
  1411.              This command will cancel any "screen changes", restoring the 
  1412.         screen  values to their original form.   It will also cancel  any 
  1413.         partially completed command (eg:  move,  copy,  delete).  It does 
  1414.         NOT reset the search string for the "search" commands.
  1415.          
  1416.         CANCEL EDIT                        Key: ALT(F10)
  1417.               
  1418.              This  command permits "cancelation" of the  edit  processor. 
  1419.         When  entered,  the editor will first request verification of the 
  1420.         desire to cancel,  and then on a positive response,  will effect-
  1421.         ively  restore the system files to their status at the  start  of 
  1422.         editing.   The  single exception to this,  is that extract  files 
  1423.         formed  during  the edit and closed prior  to  cancelation,  will 
  1424.         remain on the disk.
  1425.          
  1426.         SET FORMAT                         Key: ALT(F5)
  1427.               
  1428.              This  command  sets  the "format" process performed  by  the 
  1429.         editor.   The editor defaults to "Assembler",  but you may change 
  1430.         the format through this command,  to either "Text" or "Indented". 
  1431.         Depressing  this  key will cause the editor to  issue  a  prompt, 
  1432.         requesting you to respond with an "A",  "T",  or "I".  Processing 
  1433.         will  then be performed in this format until the format is  reset 
  1434.         by this command, or until the editor is "reloaded".  
  1435.  
  1436.              Details  of the "formats" may be found in Appendix  C.   The 
  1437.         esential differences are:   Assembler will compress out blanks by 
  1438.         tab substitution where ever possible (except for quoted strings). 
  1439.         This  blank  surpression  is  performed in such a  manner  as  to 
  1440.         preserve  the exact appearance that you formed when  you  entered 
  1441.         the  line  originally.   Tabs in Assembler are every 8  character 
  1442.         positions across the screen.
  1443.  
  1444.              "Text" format permits blank surpression only at leading  and 
  1445.  
  1446.  
  1447.         Editor Control -               22
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.         Full Screen Editor - Version 2.0
  1454.  
  1455.  
  1456.         trailing ends of the line.   No internal tab substitution will be 
  1457.         made.   Tabs in "text" mode are every 8 characters.  One command, 
  1458.         "Pack", is only applicable to "text" format.
  1459.  
  1460.              "Indented" format,  like text, only permits blank supression 
  1461.         at  leading and trailing ends of the line.   No internal tab sub-
  1462.         sitution  will  be made.   Tabs in "Indented" mode  are  every  4 
  1463.         characters.   Two commands, "Indent" and "De-indent", are applic-
  1464.         able only to "indented" format.
  1465.  
  1466.              Which  ever  format  is  selected,  the  current  format  is 
  1467.         displayed on the prompt line (F: x). 
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.         Editor Control -               23
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.         Full Screen Editor - Version 2.0
  1520.  
  1521.  
  1522.         MISCELLANEOUS COMMANDS
  1523.               
  1524.              The "catch-all" category, these commands have unique chract-
  1525.         eristics  that do not readily cluster with the previous commands.  
  1526.         Unless otherwise noted, these commands force changes.
  1527.          
  1528.         HELP MENUS                         Key: ALT("H") or ALT("h")
  1529.               
  1530.              The "help" command simply causes the display of a brief form 
  1531.         of all commands available to the editor.   The first screen  con-
  1532.         tains  the bulk of the heavily used commands,  and return to  the 
  1533.         edit  function may be made directly from that screen.   A  second 
  1534.         option  is to continue to the second menu containing the  balance 
  1535.         of the editor commands.   Exit from this screen is always back to 
  1536.         the edit function.  The edit screen is unchanged by this action.
  1537.          
  1538.         CENTER LINE                        Key: ALT("C") or ALT("c")
  1539.               
  1540.              This  command  centers the string defined by the  first  and 
  1541.         last  non-blank  characters on the current cursor position  line.  
  1542.         This command is a "screen change" only command and does not force 
  1543.         changes to the file.
  1544.          
  1545.         PACK TEXT LINES                    Key: ALT(F4)
  1546.               
  1547.              This command functions only in "text" mode.   The cursor  is 
  1548.         positioned  to  define a block of lines (see move/copy) and  this 
  1549.         process will then "pack" the lines within that block.   The  rule 
  1550.         for  packing  is:   Leading blanks/tabs on the first line of  the 
  1551.         block are not removed.   Through the remainder of the block,  all 
  1552.         blanks and tabs,  except for one blank after each word,  are  re-
  1553.         moved.   Words  are moved from line to line to follow this  rule. 
  1554.         The  process treats the lines as if they were a continuous string 
  1555.         of characters and then reformats as required to restore the  line 
  1556.         organization.  
  1557.  
  1558.              This editor is not a text processor.   Frequently,  however, 
  1559.         it  is useful to be able to create a simple source file that  can 
  1560.         be  directly  read  or printed.   This facility assists  in  this 
  1561.         process.  For example, if you need to insert or delete words from 
  1562.         an existing paragraph,  simply insert or delete as much as neces-
  1563.         sary, using new lines as required, but ignoring format.  When you 
  1564.         have  completed your changes,  then use this command to  reformat 
  1565.         the paragraph.  
  1566.          
  1567.         INDENT BLOCK RIGHT                 Key: ALT(F8)
  1568.               
  1569.              Intended  for use with high level languages  and  structured 
  1570.         programs,  this  simple  tool permits indentation  for  primitive 
  1571.         block structuring.  Define a block of lines by cursor positioning 
  1572.         (see  move/copy),  and  this command will shift all of the  lines 
  1573.         within the block,  4 characters right.   Lines offset within  the 
  1574.         block  will  retain  their same relative offset  to  the  shifted 
  1575.         block.  Characters  shifted  off the "right end" of the line  are 
  1576.         "lost".
  1577.  
  1578.  
  1579.         Miscellaneous Commands -      24
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.         Full Screen Editor - Version 2.0
  1586.  
  1587.  
  1588.          
  1589.         DE-INDENT BLOCK LEFT               Key: ALT(F7)
  1590.               
  1591.              Similar to the previous command, this command simply revers-
  1592.         es the direction shifted.  It moves the defined block to the left 
  1593.         4 characters.  
  1594.  
  1595.         SWITCH DISPLAY DEVICE              Key: ALT("S") or ALT("s")
  1596.  
  1597.              This command simply causes the "other" display device to  be 
  1598.         used,  assuming  your  configuration has both the Monochrome  and 
  1599.         Color/Graphics  interfaces.   Attempting to use the command  with 
  1600.         only  one interface installed,  will result in an error  message.  
  1601.         Note that no method exists for assuring that a display device  is 
  1602.         connected  to  the interface.   If,  for example,  you  have  the 
  1603.         color/graphics   interface   installed,   but  have  no   monitor 
  1604.         connected,  this command will cause the display to be  "switched" 
  1605.         even though you cannot see the result.
  1606.  
  1607.              You  may "toggle" back and forth without data loss,  but the 
  1608.         command  is only active during the actual  editing  process.   It 
  1609.         cannot be used while the "title" page is displayed.
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.         Miscellaneous Commands -      25
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.         Full Screen Editor - Version 2.0
  1652.  
  1653.  
  1654.         CONCLUSION
  1655.               
  1656.              This completes the available commands for the editor.  Since 
  1657.         the editor is powerful,  the command set is rather large.  A good 
  1658.         rule of thumb,  if you forget or are confused, is "try it and see 
  1659.         what happens".  Since you can always "Cancel Edit", even a catas-
  1660.         trophic  error  simply costs you a little time.   The  editor  is 
  1661.         designed  to  do what you would naturally  expect,  so  a  little 
  1662.         experimentation  will normally straighten out any problems.  Fre-
  1663.         quent  reference  to the "help" screens will be  assistive  until 
  1664.         you've  developed  a habit pattern.   Once you've  developed  the 
  1665.         proper  usage patterns,  you'll find your speed and  productivity 
  1666.         have increased.  And that's the only reason for an editor!
  1667.  
  1668.  
  1669.  
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.         Conclusion -                   26
  1712.  
  1713.  
  1714.  
  1715.  
  1716.  
  1717.         Full Screen Editor - Version 2.0
  1718.  
  1719.  
  1720.         ERROR MESSAGES
  1721.               
  1722.              Most  of  the messages displayed by the editor are  informa-
  1723.         tional or directive messages.  The few error messages are usually 
  1724.         self  expanatory.   This  section is included to provide  a  more 
  1725.         comprehensive explanation of the possible cause of error. Each of 
  1726.         the "error" type messages is shown,  and the description of cause 
  1727.         follows.
  1728.          
  1729.         "Range error - Command canceled"
  1730.               
  1731.              Occurs  when dealing with a "block" operation.   Either  the 
  1732.         limits of the block are outside the file,  or the insertion point 
  1733.         is overlapped by the block.   Remember,  the insertion point  may 
  1734.         not be the same as one of the block limits.  
  1735.          
  1736.         "Nul search invalid - Command canceled"
  1737.               
  1738.              You  have  responded to the "find" or  "substitute"  command 
  1739.         prompt with a zero length search string (immediate "enter").  You 
  1740.         may  not search for "no data",  nor may you search for a carriage 
  1741.         return/line feed combination.
  1742.          
  1743.         "No Extract File active"
  1744.               
  1745.              You have issued the "close" command and the editor found  no 
  1746.         open Extract File.   This is actually closer to a "warning" mess-
  1747.         age than an error, and has no effect on processing.
  1748.          
  1749.         "Error writing/closing Extract File"
  1750.               
  1751.              This  message is usually caused by insufficient space on the 
  1752.         disk specified for extract output.   It may also be caused by the 
  1753.         disk directory being full.  Try directing the output to the other 
  1754.         drive,  in  a multi-drive system.   Otherwise you must "end"  the 
  1755.         edit and create free space on the disk you wish to use.   DO  NOT 
  1756.         attempt to change the output disk while the editor is active.
  1757.          
  1758.         "Memory overflow - Incomplete Insert"
  1759.               
  1760.              During  an  "insert file" operation,  the  available  memory 
  1761.         stack  was  filled.   This  error  will  leave  your  file  in  a 
  1762.         "disturbed"  state,  since  part of the insert will be  achieved.  
  1763.         Recovery will require "end" command processing,  and then  reload 
  1764.         the  file  to complete your edit.   This error should  not  occur 
  1765.         unless you are dealing with extremely large files.
  1766.          
  1767.         "Error writing/closing Primary output"
  1768.               
  1769.              This error occurs when either there is insufficient space on 
  1770.         the  output  disk  or the directory is  full.   In  normal  (non-
  1771.         "spill")  mode you may recover from this error.   The editor will 
  1772.         issue  a  prompt asking if you with to "abort" the  run.   A  "N" 
  1773.         response  will  cause the display of a prompt requesting  you  to 
  1774.         depress any key when you have replaced the full diskette with  an 
  1775.  
  1776.  
  1777.         Error Messages -               27
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.         Full Screen Editor - Version 2.0
  1784.  
  1785.  
  1786.         empty one.  This is the only permissable point for removal of the 
  1787.         output disk while the editor is active.   Replace the output disk 
  1788.         with  a work or scratch disk,  and depress any key.   The  editor 
  1789.         will  save  your new file on the replacement  disk.   NOTE:   The 
  1790.         primary  input file and the "old" back up file (if any) will  not 
  1791.         be changed or renamed in this run.  
  1792.  
  1793.         "Device not installed"
  1794.  
  1795.              You  have attempted switching to the "other" display device, 
  1796.         but  the interface to support this device is not present in  your 
  1797.         system.
  1798.  
  1799.  
  1800.  
  1801.  
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.         Error Messages -               28
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.         Full Screen Editor - Version 2.0
  1850.  
  1851.  
  1852.         APPENDIX A - FILE NAME PROCESSING
  1853.               
  1854.              To  gain insight into the way file names are utilized by the 
  1855.         editor,  let's consider the typical entry with a single file name 
  1856.         specified  on  the command line that invokes  the  editor.   Upon 
  1857.         being loaded the editor will first attempt to open the file  name 
  1858.         provided.   If this action is not successful, the editor believes 
  1859.         that  the user wishes to create a new file,  and prompts for con-
  1860.         firmation of that case.  If the open is successful, then the file 
  1861.         name  is "copied" to an output file control  block.   The  "type" 
  1862.         portion of the name is set to "$$$",  and the resultant file name 
  1863.         is "opened".  If the open is successful, the editor believes that 
  1864.         it  is about to "write over" an existing file,  and requests that 
  1865.         the user confirm that action.   If open is unsuccessful,  then  a 
  1866.         file  of  the generated name is created.   This file becomes  the 
  1867.         primary output file.  
  1868.  
  1869.              At  the conclusion of edit (normal "end"),  the editor  must 
  1870.         now  "correct"  the file names currently existing on  the  disks.  
  1871.         First,  the  editor  searches for a file named the  same  as  the 
  1872.         primary  files,  but  with a type of "BAK".   If such a  file  is 
  1873.         found,  it is deleted.  Then the primary input file is renamed so 
  1874.         that its "type" is changed to "BAK".  Finally, the primary output 
  1875.         file  is  renamed,  changing  its "type" from "$$$" to  the  type 
  1876.         specified  for the primary input file originally.   This  complex 
  1877.         process is required if maximum protection against data loss is to 
  1878.         be achieved.
  1879.  
  1880.              Two minor points are raised by this discussion.   First,  it 
  1881.         becomes apparent that the disk "free" space at the start of  edit 
  1882.         must equal or exceed the primary input file space PLUS all of the 
  1883.         changes introduced by the edit.   You will find,  when editor has 
  1884.         completed  and returned to the DOS,  that "free" space exists  on 
  1885.         the  disk.   It is at least equal to,  and probably greater than, 
  1886.         the space required by the input "back up" file at the  initiation 
  1887.         of the edit process.  At one point in time, three versions of the 
  1888.         file  MAY  exist simultaneously on the disk.   The primary  input 
  1889.         file,  its back up, and the new output file.  If the output oper-
  1890.         ation  finds it cannot complete because of inadequate disk  space 
  1891.         (or directory space),  an error return and prompt is made. Recov-
  1892.         ery from this type of error is covered in another section of this 
  1893.         document.
  1894.  
  1895.              Secondly,  if  you suffer some type of catastrophic  "crash" 
  1896.         during editing (eg: power failure, etc.), you will find that your 
  1897.         primary input and back up files have not been disturbed.   As you 
  1898.         attempt  to  "re-edit" the file,  you will  receive  the  warning 
  1899.         prompt  that  your output file already exists.   If you are  sure 
  1900.         that this is the cause of that prompt,  then you may safely over-
  1901.         write  the output file.   If you examine the disk  directory  you 
  1902.         will  find  a zero length file,  named after your  primary  input 
  1903.         file, but with a type of "$$$".  Deleting this file will elminate 
  1904.         the warning prompt.
  1905.  
  1906.  
  1907.  
  1908.  
  1909.         Appendix A -                   29
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.         Full Screen Editor - Version 2.0
  1916.  
  1917.  
  1918.         APPENDIX B - LARGE FILES
  1919.               
  1920.              To provide the very fast response enjoyed by the editor, the 
  1921.         bulk  of processing is performed in the main memory of the compu-
  1922.         ter.   This places a constraint on the quantity of data (size  of 
  1923.         file) that is available for editing at any instant in time.  This 
  1924.         constraint  is sufficiently large that users following good prog-
  1925.         ramming practices may ignore the constraint,  however the limita-
  1926.         tion does exist and is directly related to the memory size of the 
  1927.         configuration.   In any configuration,  the maximum file size for 
  1928.         immediate availability is 64K.  In a 64K configuration, this size 
  1929.         is  reduced  substantially.   Since it is a function of  the  DOS 
  1930.         size,  as  well as the editor size,  it will vary with  different 
  1931.         installations,  however  even in the  small  configuration,  most 
  1932.         source files may be edited without constraint.  
  1933.  
  1934.              The  key phrase in the previous paragraph is "at any instant 
  1935.         in time".   The editor will actually process any file that may be 
  1936.         contained on a normal DOS disk,  provided sufficient space exists 
  1937.         on  the disk to permit two copies of the file at one  time.   The 
  1938.         editor  will  load from the primary input file until one  of  two 
  1939.         conditions is reached.  Either the end of file is encountered, or 
  1940.         three fourths of the available memory is filled.   In the  former 
  1941.         case,  the  entire  file is available "at any instant  in  time", 
  1942.         while  in the latter,  only the portion loaded is available.   In 
  1943.         the latter case,  editing may be performed on the portion  avail-
  1944.         able.  When all desired changes have been made, the SPILL command 
  1945.         may be issued.   The edited portion of the file is written to the 
  1946.         output  file,  and the next portion of the input file is  loaded.  
  1947.         Use of the SPILL command may be repeated until the entire file is 
  1948.         edited,  allowing editing of very large files in relatively small 
  1949.         memory configuration systems.  
  1950.  
  1951.              It should be emphasised,  however, that the typical user may 
  1952.         never utilize the SPILL command.   Files are maintained in a very 
  1953.         dense  form,  and  a  48K file is a very  large  program  module, 
  1954.         typically  exceeding  the  size recommended by  good  programming 
  1955.         practices.   The SPILL capability is included purely to eliminate 
  1956.         the artificial constraint of memory limitations.  
  1957.          
  1958.                               * * * WARNING * * *
  1959.               
  1960.              Insufficient  space on disk will cause an I/O  error.   When 
  1961.         operating in "spill" mode,  such an error is not recoverable, and 
  1962.         changes made to that point in the edit will be lost.
  1963.  
  1964.              When "Spill" is required,  a normal "End" command will force 
  1965.         "spills"  to  occur until the entire file has  been  transferred.  
  1966.         You  are not required to continue "spilling" through  the  entire 
  1967.         file.  Only  through the last change you wish to make during  the 
  1968.         edit. "Search" commands are effective only on the file in memory, 
  1969.         so  if you have a large file that forces the use of "spill",  you 
  1970.         must  perform  repetitive  searches if you wish  to  examine  the 
  1971.         entire file.
  1972.  
  1973.  
  1974.  
  1975.         Appendix B -                   30
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.         Full Screen Editor - Version 2.0
  1982.  
  1983.  
  1984.              Finally, the actual load of a file will continue until three 
  1985.         fourths  of the memory available for source is utilized.   A  64K 
  1986.         source stack,  therefore,  will contain a file of 48K size.   The 
  1987.         remaining  quarter  is reserved for file expansion  as  you  make 
  1988.         changes.   Experience  has taught that this space is  sufficient.  
  1989.         In some abnormal and highly unusual circumstances,  this "growth" 
  1990.         space  may not be adequate.   If such a condition is sensed,  the 
  1991.         editor will issue an error message.   At this point,  you  should 
  1992.         "end"  your edit,  and then begin again on the file.   This "end" 
  1993.         and restart will cause the growth buffer to be re-established  so 
  1994.         your editing can be completed normally.
  1995.  
  1996.  
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.         Appendix B -                   31
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.         Full Screen Editor - Version 2.0
  2048.  
  2049.  
  2050.         APPENDIX C - FORMAT PROCESSORS
  2051.               
  2052.              Format  processing  is designed to provide the most  "dense" 
  2053.         file   structure  possible,   while  retaining  the  format   and 
  2054.         appearance of the file you originally entered.   Any line changed 
  2055.         during the edit is processed by a formatter.  All formats perform 
  2056.         the functions described in this paragraph.   First,  all  leading 
  2057.         blanks  are  compressed to leading "tab" characters plus as  many 
  2058.         blanks  as  are necessary to maintain the alinement of  the  dis-
  2059.         played line.  Second,  all trailing blanks are surpressed to  the 
  2060.         last  non-blank character in the line,  and carriage  return/line 
  2061.         feed  characters are added.   "Tab" characters are assumed  every 
  2062.         eight characters in this discussion.   You should note that under 
  2063.         the "Indented" format,  the tab key may cause cursor advance by 4 
  2064.         characters,  but that function is performed by software.   In the 
  2065.         file, the 8 character tab is standard.  Essentially all utilities 
  2066.         and  languages assume an 8 character tab,  so this convention  is 
  2067.         sufficient to assure compatability.
  2068.  
  2069.              In  the  case of "Assembler" format,  an additional step  is 
  2070.         performed  between  the front and rear surpression cited  in  the 
  2071.         previous paragraph.  After all leading blanks are surpressed, the 
  2072.         source  statement  scan continues,  and all internal  blanks  are 
  2073.         surpressed using the same rules as stated for leading blanks.  An 
  2074.         exception is noted,  in that when a quoted string is encountered, 
  2075.         no  blank surpression will occur until the end of the  string  is 
  2076.         found.  This assures that literals are not compressed.  
  2077.  
  2078.              The  result  of this process is a severly  truncated  source 
  2079.         line.   For  example,  a  blank line is stored as two  characters 
  2080.         (carriage return/line feed),  while a three character instruction 
  2081.         starting  with  a tab position is stored as  6  characters  (tab, 
  2082.         three  instruction  characters,  and carriage return/line  feed).  
  2083.         Most  high level languages are not as agreeable to this  type  of 
  2084.         severe  compression,  so the methods outlined in the first  para-
  2085.         graph are used.   The 4 character software tab for indentation of 
  2086.         high  level languages was chosen because it allows the use of the 
  2087.         tab  character at least half the time,  to replace leading  blank 
  2088.         strings.
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.         Format Processors -            32
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.         Full Screen Editor - Version 2.0
  2114.  
  2115.  
  2116.         APPENDIX D - INSERT FILES
  2117.               
  2118.              Occassionally  a  source file created by some other  process 
  2119.         will not be accepted properly as an "Insert" file.   For example, 
  2120.         after  "Insert" you could find that the portion of your  original 
  2121.         file that should follow the insert, has disappeared!!
  2122.  
  2123.              If this or any other unusual condition occurs while attempt-
  2124.         ing  insert,  simply  load the file to be inserted as  a  primary 
  2125.         input  file,  and  then perform the  normal  "end"  command.  The 
  2126.         "insert" should now work properly.  
  2127.  
  2128.              This  error condition occurs when the "insert" file contains 
  2129.         extraneous non-display characters,  such as "end of file" or  nul 
  2130.         characters.   Some  processes  will include double "end of  file" 
  2131.         characters,  for  example,  and  this will  cause  problems  when 
  2132.         encountered  in an "insert" file.   Loading and saving the insert 
  2133.         file under the editor will elminate most of this type of  problem 
  2134.         since the editor will tend to remove extraneous characters.
  2135.  
  2136.              If this procedure does not produce the desired results, then 
  2137.         you  must  remove the "bad" characters by means external  to  the 
  2138.         editor to resolve the problem.
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155.  
  2156.  
  2157.  
  2158.  
  2159.  
  2160.  
  2161.  
  2162.  
  2163.  
  2164.  
  2165.  
  2166.  
  2167.  
  2168.  
  2169.  
  2170.  
  2171.  
  2172.  
  2173.         Appendix D -                   33
  2174.  
  2175.  
  2176.  
  2177.  
  2178.  
  2179.         Full Screen Editor - Version 2.0
  2180.  
  2181.  
  2182.         QUICK REFERENCE
  2183.         SCROLLING:                                                  Page
  2184.  
  2185.              Up by increment:          "PgUp"                         13
  2186.                 by line:               CTRL("PgUp")                   13
  2187.                 to top of source:      "Home"                         13 
  2188.  
  2189.              Down by increment:        "PgDn"                         13
  2190.                   by line:             CTRL("PgDn")                   13
  2191.                   to bottom of source: CTRL("Home")                   13
  2192.  
  2193.              Set scrolling increment:  ALT(F6)                        13
  2194.  
  2195.         CURSOR MOVEMENT:
  2196.  
  2197.              Up:                       Up arrow                       14
  2198.              Down:                     Down arrow (or CTRL(Enter))    14
  2199.              
  2200.              Left by character:        Left arrow (Either)            14
  2201.                   by word:             CTRL(Left arrow) (Key pad)     14
  2202.  
  2203.              Right by character:       Right arrow                    14
  2204.                    by word:            CTRL(Right arrow)              14
  2205.                    to end of line:     "End"                          14
  2206.  
  2207.              Tab right:                Unshifted tab key              15
  2208.                  left:                 Shifted tab key                15
  2209.  
  2210.              New line:                 Enter key                      15
  2211.  
  2212.         CHARACTER:
  2213.  
  2214.              Insert (toggle):          "Ins" key                      16
  2215.              Delete:                   "Del" key                      16
  2216.              Delete to end of line:    CTRL("End")                    16
  2217.  
  2218.         LINE:
  2219.  
  2220.              Insert:                   "F1"                           17
  2221.              Delete:                   "F2"                           18
  2222.              Move:                     "F3"                           18 
  2223.              Copy:                     "F4"                           18 
  2224.  
  2225.         SEARCH:
  2226.  
  2227.              Find:                     "F5"                           19
  2228.              Substitute:               "F6"                           19
  2229.              Repeat:                   "F7"                           19
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.         Quick Reference
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.         Full Screen Editor - Version 2.0
  2246.  
  2247.  
  2248.         QUICK REFERENCE - CONTINUED
  2249.  
  2250.         FILE CONTROL:                                              Page 
  2251.  
  2252.              Insert external file:         ALT(F1)                  20
  2253.              Extract external file:        ALT(F2)                  20
  2254.              Spill primary file:           ALT(F3)                  21
  2255.              Close extract file:           ALT(F9)                  21
  2256.  
  2257.         EDITOR CONTROL:
  2258.  
  2259.              End:                          "F10"                    22
  2260.              Force changes:                "F9"                     22
  2261.              Cancel changes/commands:      "F8"                     22
  2262.              Cancel edit:                  ALT(F10)                 22
  2263.              Set format:                   ALT(F5)                  22
  2264.  
  2265.         MISCELANEOUS:
  2266.  
  2267.              "Help" Menus:                 ALT("H")                 24
  2268.              Center cursor line:           ALT("C")                 24
  2269.              Pack text lines:              ALT(F4)                  24
  2270.              Indent block right:           ALT(F8)                  24
  2271.              De-indent block left:         ALT(F7)                  25
  2272.              Swith Display device:         ALT("S")                 25
  2273.  
  2274.  
  2275.  
  2276.  
  2277.  
  2278.  
  2279.  
  2280.  
  2281.  
  2282.  
  2283.  
  2284.  
  2285.  
  2286.  
  2287.  
  2288.  
  2289.  
  2290.  
  2291.  
  2292.  
  2293.  
  2294.  
  2295.  
  2296.  
  2297.  
  2298.  
  2299.  
  2300.  
  2301.  
  2302.  
  2303.  
  2304.  
  2305.         Quick Reference
  2306.  
  2307.  
  2308.  
  2309.  
  2310.  
  2311.         Full Screen Editor - Version 2.0
  2312.  
  2313.  
  2314.                            T.P.I.R. REGISTRATION/ORDER
  2315.  
  2316.  
  2317.                                                 Date:__________________
  2318.  
  2319.  
  2320.         Dan Daetwyler
  2321.         Route 5, Box 518A
  2322.         Springdale, Arkansas 72764
  2323.  
  2324.              This is an (circle one)  ORDER    REGISTRATION  for:
  2325.  
  2326.  
  2327.         Product Name:__________________________________________________
  2328.  
  2329.         If an order, then check below:
  2330.  
  2331.  
  2332.              _____  I have enclosed diskette, mailer, and postage.
  2333.  
  2334.  
  2335.              _____  I have enclosed $7.50.  Please send me the requested
  2336.                     product, supplying a diskette, postpaid.
  2337.  
  2338.         Indicate shipping preference:   UPS______  1st class mail______ 
  2339.  
  2340.         If a registration, then provide the following information:
  2341.  
  2342.              Version Number of product _______________________
  2343.  
  2344.              Diskette directory date of product file __________________
  2345.  
  2346.              Source of program: Name:__________________________________
  2347.  
  2348.                                 Address:_______________________________
  2349.  
  2350.                                         _______________________________
  2351.  
  2352.  
  2353.         My name, address, and phone:
  2354.  
  2355.                        ________________________________________________
  2356.  
  2357.                        ________________________________________________
  2358.  
  2359.                        ________________________________________________
  2360.  
  2361.                        ________-________-_____________
  2362.  
  2363.         Registration fee:  FSED - $35   SDA - $25   LIST - $25
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.  
  2370.  
  2371.                                        36
  2372.  
  2373.  
  2374.  
  2375.  
  2376.  
  2377.